import { WindyData } from './WindyTypes';
 
/*
 * 模拟风场数据（限北半球），真正运行时可以根据实际数据按照该格式处理数据
 * @Author: jianlei wang
 * @Date: 2023-07-05 14:24:29
 * @Last Modified by: jianlei wang
 * @Last Modified time: 2023-07-05 21:57:44
 */
const options = {
  parameterUnit: 'm/s',
  nx: 10, //计算：lng2-lng1+1
  ny: 6, //计算：lat2-lat1+1
  lng1: 114, //最小经度
  lat1: 34, //最小纬度
  lng2: 123, //最大经度
  lat2: 39, //最大纬度
  dx: 1, //经度步长
  dy: 1, //纬度步长
};
/**
 * 模拟风场数据
 * 风场数据主要包括基本参数，经纬度四至，网格数nx,ny
 * 东西方向 V 的风速数据vComponent
 * 南北方向 U 的风速数据uComponent
 * @returns
 */
const WindyMockData = () => {
  const header = options;
  const num = header.nx * header.ny;
  let uComponent: number[] = [];
  let vComponent: number[] = [];
  for (let index = 0; index < num; index++) {
    const status = Math.random() > 0.5 ? 1 : -1;
    const element = status * Math.random() * 15;
    uComponent.push(element);
    const status1 = Math.random() > 0.5 ? 1 : -1;
    const element1 = status1 * Math.random() * 15;
    vComponent.push(element1);
  }
  const windData: WindyData = { header, uComponent, vComponent };
  console.log('模拟风场数据：', windData);
  return windData;
};
export default WindyMockData;